package com.example.demo.service;

import com.example.demo.entity.Music;
import com.example.demo.entity.MusicQuery;
import com.example.demo.entity.TypeCount;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface MusicService {

    //条件查询分页

    PageInfo<Music> searchMusics(MusicQuery query, int pageNum, int pageSize);








    //首页热门歌曲展示
    List<Music> findMusicByDuration();

    boolean incrementPlayCount(String musicId);

    //pageNum:当前是第几页            pageSize: 每一页多少条数据
//    PageInfo<Music> findMusicPage(Integer pageNum, Integer pageSize);
    // 查找所有歌曲信息
    List<Music> findMusicAll();

    // 根据 ID 查找歌曲信息
    Music findMusicID(Integer music_id);

    // 根据 ID 批量获取歌曲信息
    List<Music> findMusicsByIDs(List<Integer> ids);



    // 按热度降序查找歌曲
    List<Music> findMusicByPopularity();

    // 添加歌曲信息
    Integer insertMusic(Music music);

    // 修改歌曲信息
    Integer updateMusic(Music music);

    // 删除歌曲信息
    Integer deleteMusic(Integer music_id);

    List<TypeCount> getMusicTypeProportions();
}
